import Vue from 'vue'
import Vuex from 'vuex'
// 引入封装好的模块
import menu from './modules/menu'
import role from './modules/role'
import user from './modules/user'
import classify from './modules/classify'
import specs from './modules/spacs'
import goods from './modules/goods'
import vip from './modules/vip'
import banner from './modules/banner'
import active from './modules/active'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    userinfo: sessionStorage.getItem('userinfo') ? JSON.parse(sessionStorage.getItem('userinfo')) : null
  },
  getters: {
    getUser(state) {
      return state.userinfo
    }
  },
  mutations: {
    REQ_USERINFO(state, payload) {
      if (payload) {
        state.userinfo = payload
        // 把结果存储到会话存储中
        sessionStorage.setItem('userinfo', JSON.stringify(payload))
      } else {
        // 清空存储
        sessionStorage.removeItem('userinfo')
      }
    }
  },
  actions: {
    changeUserAction({ commit }, payload) {
      commit('REQ_USERINFO', payload)
    }
  },
  modules: {
    menu,
    role,
    user,
    classify,
    specs,
    goods,
    vip,
    banner,
    active
  }
})
